ci: grant id-token: write for Slack notify workflow - #672
Conversation
452cb17 to
f8fbbc1
Compare
Codex AI reviewNo actionable findings. Residual risk is limited to the unexecuted integration with the pinned reusable workflow and repository secrets. Reviewed commit |
Claude AI reviewNo blocking findings. This PR is a 3-line change to a single CI workflow (.github/workflows/notify.yml): it adds id-token: write and forwards BEDROCK_ROLE_ARN and SLACK_WEBHOOK_URL_DISCUSSION to the SHA-pinned reusable workflow. No SDK/runtime code is affected, so checkpoint/replay, serialization, and public-API concerns do not apply. The id-token: write grant on a pull_request_target workflow is safe as written: pull_request_target always uses the base-branch definition of this caller (a fork cannot tamper with it), the reusable workflow is SHA-pinned (@ac55d9f), and the permission is scoped to the single notify job — the correct pattern for OIDC role assumption. BEDROCK_ROLE_ARN forwarding matches the stated rationale. Residual risks worth confirming before merge (not confirmed defects, and not verifiable from this repo since the reusable workflow lives in aws/aws-durable-execution-ci):
There are no automated tests for workflow YAML in this repo, so the only validation is the reusable-workflow contract above. Reviewed commit |
Fixes aws/aws-durable-execution-ci#30.
The reusable
notify.ymlin aws-durable-execution-ci changed itssummarizejob at ac55d9f to assumeBEDROCK_ROLE_ARNvia OIDC,requiring
id-token: write. Consumernotify.ymlfiles still grantonly
contents: read+models: read, and GitHub caps a reusableworkflow's token at the caller's grant — aborting the run at startup
and dropping all Slack notifications.
Changes (identical across all four consumer repos):
id-token: writepermissionBEDROCK_ROLE_ARN(enables AI-generated summarieswhen the org secret is configured) alongside the existing Slack webhooks